home *** CD-ROM | disk | FTP | other *** search
/ Commodore Disc 2 / Commodore_Disc_02_19xx_-_de.d64 / adressen richtig (.txt) next >
Commodore BASIC  |  2022-10-26  |  7KB  |  217 lines

  1. 10 rem adressen-register ========64
  2. 20 rem (p) commodore welt team    =
  3. 30 rem ============================
  4. 40 rem (c) by axel kohlmann       =
  5. 50 rem                            =
  6. 60 rem version 2.1  40z/ascii     =
  7. 70 rem vc-20 + 3k + 1530/1541     =
  8. 80 rem c-64 + 1530/1541/1571      =
  9. 90 rem ============================
  10. 100 goto370
  11. 110 gf$=chr$(034):y3$=chr$(162)
  12. 120 y5$=chr$(166):kl$=chr$(091)
  13. 130 u4$=chr$(191):ss$=chr$(047)
  14. 140 kr$=chr$(093)
  15. 150 sl$=chr$(014):c4$=chr$(017)
  16. 160 rn$=chr$(018):he$=chr$(019)
  17. 170 re$=chr$(028):c3$=chr$(029)
  18. 180 gr$=chr$(030):bl$=chr$(031)
  19. 190 s1$=chr$(032)
  20. 200 fa$=chr$(130):fb$=chr$(131)
  21. 210 bk$=chr$(144):c2$=chr$(145)
  22. 220 rf$=chr$(146):cl$=chr$(147)
  23. 230 pu$=chr$(156):c1$=chr$(157)
  24. 240 cy$=chr$(159)
  25. 250 s2$=chr$(160):s3$=chr$(224)
  26. 260 z1$=chr$(096):z2$=chr$(098)
  27. 270 z3$=chr$(123):z4$=chr$(171)
  28. 280 z5$=chr$(173):z6$=chr$(174)
  29. 290 z7$=chr$(176):z8$=chr$(177)
  30. 300 z9$=chr$(178):za$=chr$(179)
  31. 310 zb$=chr$(189):m1$=chr$(125)
  32. 320 d2$=c4$+c4$:d3$=d2$+c4$
  33. 330 d4$=d3$+d2$:d5$=d4$+c4$
  34. 340 d6$=d5$+c4$:d7$=d6$+c4$
  35. 350 d8$=d7$+c4$:d9$=d8$+c4$
  36. 360 return
  37. 370 rem ***************************
  38. 380 rem c-64 farbe blau/weiss *****
  39. 390 poke53280,6:poke53281,1
  40. 400 rem vc-20 farbe blau/weiss ****
  41. 410 rem poke36879,30
  42. 420 rem ***************************
  43. 430 gosub110:goto710
  44. 440 rem ******************* menue *
  45. 450 rem ************ dateneingabe *
  46. 460 z= 2030
  47. 470 printcl$d7$re$z7$;:fori=1to19:printz1$;:next:printz6$
  48. 480 printm1$"   geben sie die   "m1$
  49. 490 printm1$" einzelnen adress- "m1$
  50. 500 printm1$" angaben wie name, "m1$
  51. 510 printm1$"strasse, wohnort..."m1$
  52. 520 printm1$"jeweils durch einen"m1$
  53. 530 printm1$"  schraegstrich "gf$ss$gf$m1$
  54. 540 printm1$"    voneinander    "m1$
  55. 550 printm1$"   getrennt ein.   "m1$
  56. 560 printm1$" die erste angabe  "m1$
  57. 570 printm1$" ist entscheidend  "m1$
  58. 580 printm1$" fuer suchen&sort. "m1$
  59. 590 printm1$"                   "m1$
  60. 600 printm1$" zur funktionswahl "m1$
  61. 610 printm1$"   "rn$"return"rf$"-taste    "m1$
  62. 620 printz5$;:fori=1to19:printz1$;:next:printzb$
  63. 630 printhe$bl$rn$" geben sie daten ein  "rf$:l3$=c1$+c1$+c1$
  64. 640 iffre(0)<900then970
  65. 650 printu4$l3$;:inputf$
  66. 660 iff$=u4$then710
  67. 670 printcl$d3$;z;"data ";f$
  68. 680 print"460 z=";z+10:print"goto100"
  69. 690 poke631,13:poke632,13:poke633,13:poke198,3:printhe$:end
  70. 700 rem ******************* menue *
  71. 710 printcl$"  "re$rn$"                  "rf$
  72. 720 print"  "rn$"adressen-register "rf$
  73. 730 print"  "rn$"                  "rf$
  74. 740 print"  "rn$"(c) axel kohlmann "rf$
  75. 750 print"  "rn$"                  "rf$
  76. 760 printhe$d6$bk$"    funktionswahl":print
  77. 770 printre$rn$;:fori=1to20:printy3$;:next:printrf$:print
  78. 780 printbk$"  druecke:":print
  79. 790 print"  "rn$"1"rf$" dateneingabe"
  80. 800 print"  "rn$"2"rf$" datenausgabe"
  81. 810 print"  "rn$"3"rf$" sortierung  "
  82. 820 print"  "rn$"4"rf$" adressen suchen"
  83. 830 print"  "rn$"5"rf$" adressaenderung"
  84. 840 print"  "rn$"6"rf$" programmende"
  85. 845 print"  "rn$"7"rf$" abspeichern tape"
  86. 846 print"  "rn$"8"rf$" abspeichern disk"
  87. 850 geta$:ifa$=""then850
  88. 860 onval(a$)goto460,1530,1030,1360,1840,1920,1950,1996
  89. 870 goto850
  90. 880 rem *** s feld von b$ trennen *
  91. 890 dimn$(n):fori=0ton
  92. 900 ll=0
  93. 910 ll=ll+1
  94. 920 ifll=len(b$(i))+1then950
  95. 930 ifmid$(b$(i),ll,1)="/"then950
  96. 940 n$(i)=n$(i)+mid$(b$(i),ll,1):goto910
  97. 950 next
  98. 960 return
  99. 970 printc4$bl$"  kein speicherplatz     mehr verfuegbar!"
  100. 980 fori=1to2000:next:goto710
  101. 990 printpu$rn$c2$c2$" drucker einschalten!! und zur          "rf$;
  102. 1000 printrn$" bestaetigung return-taste druecken     "rf$
  103. 1010 printhe$d4$"     "rn$"drucker"rf$
  104. 1020 poke198,0:wait198,1:printd3$"         ok!":return
  105. 1030 h4$=h4$+c2$+c2$+c2$+c2$+c2$+c2$
  106. 1040 printh4$"    "pu$rn$"sortierung  "rf$:printd6$"  "rn$"bitte etwas geduld  "
  107. 1050 n=1:gosub1060:goto1080
  108. 1060 reada$:if a$="****"thenrestore:n=n-1:return
  109. 1070 n=n+1:goto1060
  110. 1080 n=n-1:dimb$(n):forx=0ton:readb$(x):next:restore:gosub890
  111. 1090 printcl$:gosub1100:goto1110
  112. 1100 printhe$re$rn$"alphabetische      sortierung der namen "rf$:return
  113. 1110 fori=0ton-1:k=i
  114. 1120 forj=i+1ton
  115. 1130 ifn$(j)<n$(k)thenk=j
  116. 1140 nextj
  117. 1150 x$=n$(k):n$(k)=n$(i):n$(i)=x$
  118. 1160 nexti
  119. 1170 f$=c4$:l=1
  120. 1180 fori=1ton:gosub1270:printff$;n$(i):l=l+1:ifl=17thengosub1510
  121. 1190 gosub1100:ff$=ff$+f$:
  122. 1200 fork=1to300:nextk
  123. 1210 next
  124. 1220 :printff$re$rn$"alle namen sortiert! "rf$;
  125. 1230 printpu$rn$"ok? return --> ende"rf$;
  126. 1240 poke198,0:wait198,1
  127. 1250 ifpeek(631)<>13then1240
  128. 1260 poke198,0:clr:gosub110:goto710
  129. 1270 as=asc(n$(i))-64
  130. 1280 onasgoto1300,1310,1320,1330,1340,1350
  131. 1290 as=as-6:goto1280
  132. 1300 printcy$;:return
  133. 1310 printre$;:return
  134. 1320 printbk$;:return
  135. 1330 printpu$;:return
  136. 1340 printgr$;:return
  137. 1350 printbl$;:return
  138. 1360 printc2$c2$c2$c2$c2$"    "pu$rn$"adressen suchen"rf$
  139. 1370 printd5$"  "rn$"bitte etwas geduld"rf$
  140. 1380 gosub1060:dimb$(n):fork=0ton:readb$(k):next:gosub890
  141. 1390 printcl$re$rn$" suchen einer adresse (return-->ende)   "rf$
  142. 1400 printd3$re$"name:  ";
  143. 1410 printy5$c1$c1$c1$;:inputna$:ifna$=y5$then1490
  144. 1420 fork=0ton:ifna$=n$(k)thenk2=k:goto1460
  145. 1430 next
  146. 1440 printd3$re$" die adresse ist nicht      gespeichert     "
  147. 1450 forlt=1to2000:next:goto1390
  148. 1460 j=k2:k2=1:gosub1670:printre$rn$"ok? --> taste druecken"rf$
  149. 1470 poke198,0:wait198,1:poke198,0
  150. 1480 goto1390
  151. 1490 clr:gosub110:goto710
  152. 1500 goto2000
  153. 1510 l=1:printc4$re$rn$"weiter? taste druecken"rf$;:poke198,0:wait198,1
  154. 1520 printcl$:gosub1100:ff$="":return
  155. 1530 printcl$re$rn$"ausgabe aller adressen"rf$
  156. 1540 printd2$bk$"  ausgabegeraet:"
  157. 1550 printc4$"   "rn$"1"rf$" drucker"
  158. 1560 print"   "rn$"2"rf$" bildschirm"
  159. 1570 printd5$re$rn$"    bitte waehlen!    "rf$
  160. 1580 getd$:ifd$=""then1580
  161. 1590 onval(d$)goto1610,1620
  162. 1600 goto1580
  163. 1610 ag=4:gosub990:open4,4:gosub1650:close4:restore:clr:gosub110:goto710
  164. 1620 printhe$pu$d5$"     "rn$"bildschirm"rf$d5$
  165. 1630 print"                      "c2$c2$c2$c2$
  166. 1640 ag=3:gosub1650:restore:clr:gosub110:goto710
  167. 1650 gosub1060:dimb$(n+1):forj=1ton+1
  168. 1660 readb$(j)
  169. 1670 forc=0to7:c$(c)=" ":nextc
  170. 1680 i=0:c=1
  171. 1690 i=i+1
  172. 1700 ifi=len(b$(j))+1then1730
  173. 1710 ifmid$(b$(j),i,1)="/"thenc=c+1:goto1690
  174. 1720 c$(c)=c$(c)+mid$(b$(j),i,1):goto1690
  175. 1730 ifk2>0thengosub1810:return
  176. 1740 gosub1780:next
  177. 1750 printre$rn$"  ok? ende --> return "rf$
  178. 1760 poke198,0:wait198,1:ifpeek(631)=13thenreturn
  179. 1770 goto1760
  180. 1780 ifag=4thengoto1830
  181. 1790 bi=bi+1:ifbi=2thenbi=0:printre$rn$"weiter? taste druecken!"rf$;
  182. 1800 poke198,0:wait198,1:printcl$
  183. 1810 forc=0to7:printbk$c1$c$(c):nextc:return
  184. 1820 rem ********* drucker output *
  185. 1830 forc=0to7:print#4,"               ";c$(c):next:return
  186. 1840 printcl$re$rn$" adressenaenderung  "rf$;
  187. 1850 printrn$"(angaben hinter den  datas aendern und dann"rf$;
  188. 1860 printrn$" programm erneut  mit     "rf$"run"rn$"  starten)   "rf$;
  189. 1870 printrn$"ctrl-taste zum  verlangsamen von list                  "rf$
  190. 1880 printd3$"list2000- : "kl$"return"kr$"
  191. 1890 [129]k[178]1[164]2000:[130]:[151]631,13:[151]198,1
  192. 1900 [153]he$d6$:[128]
  193. 1910 [137]710
  194. 1920 v[178] 1
  195. 1930 [153]cl$d3$"1920 v=";v[170]1:[153]"v=";v;":goto1890"
  196. 1940 [151]631,13:[151]632,13:[151]198,2:[153]he$:[128]
  197. 1950 [141]110:[153]cl$re$rn$"kassette einlegen und"rf$
  198. 1960 [153]rn$"die taste rec + play "rf$
  199. 1970 [153]rn$"druecken !           "rf$
  200. 1980 [153]he$d6$"save"gf$"adressen";v;gf$
  201. 1990 [151]631,13:[151]632,13:[151]198,2:[153]he$d3$bk$:[128]
  202. 1995 [141]110:[137]710
  203. 1996 [153]cl$d6$"save"gf$"@:adressen";v;gf$;",8"
  204. 1997 [153]he$:[153]d3$bk$:[128]
  205. 2000 [131] commodore welt/redaktion/postfach1107/d-8044 lohhof
  206. 2005 [131] commodore/bueromaschinen gmbh/lyoner strasse 38/d-6000 frankfurt 71
  207. 2010 [131] commodore/bueromaschinen gmbh/kinsky strasse 40-44/a-1232 wien
  208. 9900 [131]"****"
  209. 9910 [143] adressen-register ======64
  210. 9920 [143] 038911 bytes memory    ===
  211. 9930 [143] 006499 bytes program   ===
  212. 9940 [143] 000343 bytes variables ===
  213. 9950 [143] 000000 bytes arrays    ===
  214. 9960 [143] 000090 bytes strings   ===
  215. 9970 [143] 031979 bytes free (0)  ===
  216. 9980 [143] ==========================
  217.